Automated switch scanning matrix for obtaining user input

ABSTRACT

This invention is an automated switch scanning matrix for obtaining user input. The invention comprises an integrated circuit with an output register and an input register, the output register is operatively connected to one or more user switches or encoders and the switches or encoders are further operatively connected to the integrated circuit input register. A voltage is pulsed from the output register of the integrated circuit which then flows through closed contacts of the switches or encoders in the switching matrix and is then detected at the input registers of the integrated circuit. The switch position inputs are saved in a switch save register. The integrated circuit sets an interrupt bit if any of the switch positions in the matrix have changed. This, in turn, causes the microcontroller to read the switch save registers thereby saving time for the microcontroller by not having to continually read the switch inputs.

BACKGROUND OF THE INVENTION

This invention relates to control systems for appliances. More specifically, this invention relates to an automated switch scanning matrix for obtaining user input on appliances.

In today's world, household appliances are becoming quite sophisticated. The days where appliances were controlled by nothing more than electromechanical devices seems to have been replaced with high technology computer controlled devices. Modern appliances have computers which control the appliance and have the ability to input data from any number of sources and modify the operation of the device depending on situations which occur during the operation of the appliance. Thus, the possibilities for operation of an appliance today seem to be limited only by the numbers of data inputs in which the controller can read balanced with the amount that a consumer wants to spend on the appliance.

One of the benefits of today's appliances is that they are controlled by integrated circuits which can put a large amount of circuitry in a very small area and can compute many calculations very quickly to modify the operation of the appliance on the fly. One problem, however, is that integrated circuits only have a limited number of inputs and outputs available for use. To create more inputs and outputs would require redesigning the integrated circuit.

Since consumers today are demanding more and more features on their household appliances, and this requires that the appliance have more and more control devices for inputs and display devices for outputs on the appliance. More input devices require more space on the integrated circuit to determine what those inputs are. Thus, it is desirable to have a household appliance in which multiple input devices, such as switches, can be read by an integrated circuit to determine what the inputs are with only the limited number of input registers available on the integrated circuit.

The primary object of the present invention is to utilize a limited number of input/output lines on an integrated circuit to determine the settings on a plurality of switches of varying types and to automate the scanning of the switches in hardware to eliminate the need for software to constantly read the switches to see if they have changed position.

Another object of the present invention is to allow the processor to determine when a scan of the input device is needed and to perform other tasks while the scan is being conducted.

A further object of the present invention is to allow a microcontroller more time for other operations by reducing the switch scanning time for the input switches.

A further object of the present invention is a method to reduce the scanning time for input devices for the microcontroller thereby allowing the microcontroller more time for performing other operations.

A further object of the present invention is a provision of the automated switch scanning matrix for obtaining user input which is economical to manufacture, durable in use, and efficient in operation.

These and other objectives will become apparent from the following description of the invention.

SUMMARY OF THE INVENTION

The foregoing objects may be achieved by a switch matrix for obtaining user input on household appliances comprising an integrated circuit with a source output register and a sense input register wherein the source output register is operatively connected to one or more user operative switches and the switches are further operatively connected to the integrated circuit sense input register.

A further feature of the present invention involves a switch matrix for obtaining user input on household appliances wherein the switch matrix comprises a rotary encoder.

A further feature of the present invention involves a switch matrix for obtaining user input on household appliances wherein the switch matrix has a diode operatively connected between a switch and the sense input register.

A further feature of the present invention involves a switch matrix for obtaining user input on household appliances wherein a voltage is pulsed from the source register outputs and the voltage is detected at the sense register inputs, to determine if one or more of the switches has closed contacts.

A further feature of the present invention is given where the voltage pulsed from the source register is approximately 12 volts.

A further feature of the present invention involves a switch matrix for obtaining user input on household appliances comprising a pull down circuit on at least one of the sense register inputs.

A further feature of the present invention involves a switch matrix for obtaining user input on household appliances further comprising a de-bounce circuit on at least one of the sense register inputs.

A further feature of the present invention involves a switch matrix for obtaining user input on household appliances wherein the integrated circuit is an application specific integrated circuit (ASIC).

A further feature of the present invention involves a switch matrix for obtaining user input on household appliances wherein at least one switch further comprises a common terminal and at least one throw terminal. The switches common terminal is operatively connected to the integrated circuits source register and at least one of the switches throw terminals is operatively connected to the integrated circuits sense register.

A further feature of the present invention involves a switch matrix for obtaining user input on household appliances wherein the apparatus is used on a washing appliance.

The foregoing objects may also be achieved by an automated switch scanning matrix for obtaining user input on household appliances comprising an integrated circuit operatively connected to a switching matrix, the switching matrix further comprising one or more switches, the integrated circuit configured to scan switch positions of the switches, store information of switch positions, and determine if any of the switch positions have changed.

A further feature of the present invention involves an automated switch scanning matrix for obtaining user input on household appliances wherein the integrated circuit sets an interrupt bit if any of the switch positions have changed.

A further feature of the present invention involves an automated switch scanning matrix for obtaining user input on household appliances wherein the interrupt may be enabled or not enabled.

A further feature of the present invention involves an automated switch scanning matrix for obtaining user input on household appliances wherein an interrupt causes the microcontroller to read the switch input data.

A further feature of the present invention is an automated switch scanning matrix for obtaining user input on household appliances wherein switches which are not part of the switching matrix are connected to the integrated circuits sense register inputs.

The foregoing objects may also be achieved by a method of obtaining user input on household appliances comprising the steps of operatively connecting a household appliance to an integrated circuit, operatively connecting a switching matrix to the integrated circuit's source input and output registers, pulsing signals from the integrated circuit's source output registers to the switch matrix, detecting signals coming from the switching matrix to the integrated circuits sense input registers, determining what inputs are being received at the integrated circuits sense input registers for each pulse of the integrated circuits source output register outputs, determining if any of the switch positions have changed, and if the switch positions have changed, ordering the microcontroller to read switch position input data.

A further feature of the present invention involves a method of obtaining user input on household appliances comprising the step of detecting if switches which are not part of the switch matrix, but are connected to the integrated circuits sense input register, have changed position.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows one type of washing appliance with a rotary knob and operator useable push button switches.

FIG. 2 shows one embodiment of the switch matrix for the current invention.

FIG. 3 shows one embodiment of an auto scan example of the current invention.

FIG. 4 shows a typical 64 pin integrated circuit chip.

FIG. 5 shows a flow chart for the operation of the preferred embodiment of the current invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The current invention relates to an automated switch scanning matrix for obtaining user input on appliances. FIG. 1 shows a standard clothes washing machine appliance 10 in which the current invention can be used upon or incorporated into. The current invention can be used upon any type of appliance however it is preferred, that the current invention be used upon a washing or drying appliance. A washing appliance can include a clothes washing appliance 10, a dishwashing appliance (not shown), or any other kind of washing appliance.

The appliances contemplated by the current invention are controlled by any number and type of user inputs such as a rotary knob 12 and/or push button switches 14 as seen in FIG. 1. However, many other types of control devices can be used on appliances. Other such control type devices are rotary encoders, rotary switches, rocker switches, and other types of switches or circuit closure devices.

FIG. 2 shows the external switch matrix assembly 20 of one embodiment in the current invention. The current invention utilizes a limited number of input/output lines such as the source register outputs 24 and the sense register inputs 26 of an application specific integrated circuit (ASIC) 22 to determine the settings on any number of switches, such as a rotary encoder 34, rotary switch 36, on-off-on switch 38, single pole-single throw switches 40, momentary contact switches 42, and other types of switches, to automate the scanning of the switches in hardware to eliminate the need for software to constantly read the switches to see if they have changed position.

The embodiment of the current invention shown in FIG. 2 is a logic hardware block 21 that can be enabled independently for the purpose of scanning switches. This block has a certain pulse that will be transmitted on its source register outputs 24 for the purpose of seeing if the pulse returns on one of its sensed register inputs 26. This can be done by tying the source register outputs 24 to a switch's common terminal which is done by the switch common source lines 16 and then tying the switch's throw terminals to the sense register inputs 26 by the switch throw sense lines 18.

When a pulse is emitted on a source register output 24, the logic hardware block or switch matrix assembly 20 will validate and record which of the sense register inputs 26 the pulse returned on. Each time a pulse is sent down each of the source register outputs 24 and sensed at the sense register input 26, it is called a scan. Each time a scan is completed there is a register block 56, shown in FIG. 3, that records the input values of the switches with the use of a shift select register 64 for making sure the data gets to the proper row and column. This allows the ASIC processor 23 to determine when a scan of the switches is needed and perform other tasks in the meantime. The reason for this switch matrix assembly 20 is because switch scanning is typically one of the most task intensive items that an embedded microcontroller 23, such as within an ASIC 22, has to perform. This way the microcontroller 23 is free to perform other actions while switch scanning takes place.

FIG. 4 shows one embodiment of a standard 64-pin ASIC 22. Also shown in FIG. 4 are the source register outputs 24, the sense register inputs 26, the logic hardware block 21, the microcontroller 23, and an interrupt 70 connection between the logic hardware block 21 and the microcontroller 23. In the preferred embodiment of the current invention, there are eight source register outputs 24, and seven sense register inputs 26. However, any number of outputs 24 and inputs 26 can be used with the current invention.

Each switch or set of switches in the external switch matrix assembly 20 is scanned by setting a bit or automatically pulsing a signal out the source register output 24 to apply source power, which is preferred to be approximately 12 volts, to the common pins of one or more of the switches. This signal travels down the switch common source line 16. The position selected by a switch or rotary switch will provide power to one or more of the lines called the switch throw sense lines 18. The rotary dial encoder 34 returns a value of 0-31 (5-bit number) and a center momentary push button 35 adds another bit of input. Since the common terminal for the encoder may connect multiple pins simultaneously to the sense register inputs 26, diodes 32 are installed on the switch throw sense lines 18 between the encoder 34 and the sense register inputs 26 to prevent feedback connections from providing false voltage indications on the sense register input 26 pins when other switches are scanned. As long as a switch common only connects to a single sense register input 26 at any given switch position, no diodes 32 are needed.

Another example where diodes 32 are needed is also shown in FIG. 2 where multiple switches on a single source line 44 can be installed. On the other hand, no diodes 32 are necessary when a single source line 24 connects to multiple switches through the use of a single source line 16 via a terminal point 46 if only one of the switches can be connected for passing power between the source register 24 and the sense register 26 at a time when the source register 24 is pulsing a signal.

The source register outputs 24 are preferred to provide a 12 volt signal that passes through a switch to be scanned, and returns on one of the sense register inputs 26. Put simply, the ASIC 22 knows what source line it pulses and can determine the position of each switch by pulsing the source register output 24 for a specific output (preferred 0-7) and determining which sense register input 28 receives the pulse which was sent from the specific output 24.

Pull down circuits 28 are provided on the sense input registers 26 so that values not powered will be forced to a zero value. In addition, de-bounce circuitry 30 is included in the ASIC 22 for each of the input sense lines 26.

The switch throw sense lines 18 will have a pulse voltage present when the source lines 24 are pulsing and the switch associated with the source line 24 has a closed contact. The switch throw sense lines 18 with a voltage present will return a digital “1” (one) in the sense register inputs 26. The switch throw sense lines 18 at ground potential will return a digital“0” (zero) in the sense input register 26. Lines not connected shall also return a “0” (zero) in the input sense register 26.

On each input sense register line 26, a series switch will enable the individual line to be turned on and off. Once an output source line 24 is turned on, the input sense register lines 26 will be enabled one at a time to sense if the external switch is closed.

The signal that travels from the source register outputs 24 down the switch common source lines 16, through the switches then down the switch throw sense lines 18 and into the input registers may take the form as discussed above as a positive voltage, digital 1, or conversely may be in the form of pulling the line to ground, digital 0.

The sense input registers 26 are de-bounced with de-bounce circuits 30 within the hardware of the ASIC 22 to ensure that the values being latched into data registers is valid. One way that this can be done is comparing the time of activation on the source input registers 26 to the time the source output registers 24 is active. If the length of time for the signal received at the input source registers 26 is different than the length of time for the output source register 24 signal, then we know that the entire signal was not received at the input registers 26 and therefore would not be saved as a valid input. Another method for determining that the value latched into the input registers is valid is to provide a sequence of cascading latches to validate the return status. If the input at the sensed register inputs 26 changes state during the periods the latches are cascading, the sequence is reset and the data is not saved. Unless the value cascades through all the latches, the old value for the input register 26 is retained as the current state value. As seen in FIG. 3, the switch values are saved in the switch sense save register array 56 in their proper register corresponding to the activated source line 24 via the shifting select register 64 after they are received by the sense input registers 26.

Also on FIG. 3, once the switches are read, the newly read values are compared using a comparator circuit 60 with the previous reads of the switch which are stored in the switch sense saved register array 56 and data bits are set in an interrupt status register 66 via the shift register 62 if the values differ. Data from the comparator circuit 60 is put into an interrupt status register 66 by a shift register 62, which puts the output from the comparator circuit 60 into the bit corresponding to source bit being scanned (bit for row). The status register 66 information is then AND'd with the data from the individual IRQ enable register 68. The results are OR'd by the gates of block 51. This data is then AND'd using the AND gate 48. An interrupt 70 is generated by the hardware, if an interrupt enable register 58 is enabled or a digital 1 and the data coming from the individual IRQ enable registers 68 is a digital 1 once a complete scan of the switches is completed. This interrupt 70 tells the processor 23 to now read the input register 26 to determine the switch positions. The result is that the processor 23 only has to read the inputs when a switch has changed positions.

Embodiments of the current invention may also include switches such as switch 40 shown in FIG. 3 which are powered by an external power supply 54 rather than by the source register outputs 24. In other words, all the switches on the current invention do not have to be powered by the source register outputs 24. If a switch is used which is powered by an external power supply 54, the system works much in the same way. The value of the switch is read into the switch current value register 72 and compared with the switch last value register 74 by the use of an exclusive OR gate 52. Then, if the value has changed from the previous scan, the value is placed into the lid switch interrupt status register 76 and AND'd with the lid switch IRQ enable register 78 and if this output gives a value of 1, that information will be OR'd in block 51 with the result AND'd by an AND gate 48 with an interrupt enable register bit 58. If both the data bit resulting from block 51 and the interrupt enable register 58 are both a value of 1, then an output of 1 will be used on the interrupt 70 to tell the processor to read the interrupt status registers 66, 76. A bit value of 1 in an interrupt status register 66, 76 tells the processor that the corresponding switch save register SWS0, SWS1, SWS2, SWS3, SWS4, SWS5, SWS6, SWS7 and lid/door switch save register contains a changed value.

The automatic scanning of switches can be disabled to allow the software to individually assert a particular switch source line and read the return value when an immediate switch read is required rather than the last read value. This also allows for switches to be read at a specific time if the input values are cycling. A normal mode of operation would be to let the hardware read the switches and generate an interrupt for those switches which have changed.

FIG. 2 is a preferred embodiment of the current invention of the switch scan mechanics which only has a seven bit switch sense bus. The size of the return bus and the number of switch source lines are scalable depending on the device used to implement the automatic scanning of the switches. FIG. 3 further allows for an eight switch source 16 line and a seven bit sense line 18. The separate switch input is compared against a previous value each time the switches are scanned and can generate an interrupt if the switch changes state.

The method and function of the current invention which are shown in FIGS. 2 and 3 is also shown in FIG. 5. In FIG. 5, output signals on an integrated circuit source register are output through the source registers 100. The signals that are sent through the output source registers then go through a switching matrix if the switch in the switching matrix is closed 102. Any signals that return to the input sense registers are set in the registers on the integrated circuit 104. Then, this method compares the sense register inputs with the previous inputs of the switches 106. If the inputs are not different, this method returns back to outputting signals on the output source registers as in 100. If the inputs are different, then an interrupt is created on the processor and the processor reads the switch save register 108.

The invention has been shown and described above with the preferred embodiments, and it is understood that many modifications, substitutions, and additions may be made which are within the intended spirit and scope of the invention. From the foregoing, it can be seen that the present invention accomplishes at least all of its stated objectives. 

1. A household appliance comprising: a switch matrix for obtaining user input on the household appliance wherein the switch matrix comprises; an integrated circuit with a logic hardware block, the logic hardware block having a source output register and a sense input register; the source output register operatively connected to one or more user operative switches; the switches further operatively connected to the logic hardware block sense input register.
 2. The appliance of claim 1, wherein the switch matrix further comprises a rotary encoder.
 3. The appliance of claim 1, wherein the switch matrix has a diode operatively connected between a switch and the sense input register.
 4. The appliance of claim 1, wherein a voltage is pulsed from the source register outputs.
 5. The appliance of claim 4, wherein the voltage is detected at the sense register inputs to determine if one or more of the switches has closed contacts.
 6. The appliance of claim 4, wherein the voltage pulsed is between 3 and 25 volts.
 7. The appliance of claim 1 further comprising: a pull-down circuit on at least one of the sense register inputs.
 8. The appliance of claim 1, further comprising a de-bounce circuit on at least one of the sense register inputs.
 9. The appliance of claim 1, wherein the integrated circuit is an application specific integrated circuit (ASIC).
 10. The appliance of claim 1, wherein at least one switch further comprises a common terminal and at least one throw terminal; the switch's common terminal is operatively connected to the integrated circuit's source register and at least one of the switch's throw terminals is operatively connected to the integrated circuit's sense register.
 11. The appliance of claim 1, wherein the appliance is from the group consisting of a washing appliance, a drying appliance, a refrigeration appliance, and a cooking appliance.
 12. An automated switch scanning matrix for obtaining user input on household appliances comprising: a logic hardware block operatively connected to a switching matrix; the switching matrix further comprising one or more switches; the logic hardware block configured to scan switch positions of the switches, store information of switch positions, and determine if any of the switch positions have changed.
 13. The automated switch scanning matrix for obtaining user input on household appliances of claim 12 wherein the logic hardware block sets an interrupt bit if any of the switch positions have changed.
 14. The automated switch scanning matrix for obtaining user input on household appliances of claim 13 wherein the interrupt bit may be enabled or not enabled.
 15. The automated switch scanning matrix for obtaining user input on household appliances of claim 13 wherein the interrupt bit causes a microcontroller to read the stored information of switch positions.
 16. The automated switch scanning matrix for obtaining user input on household appliances of claim 12 wherein the logic hardware block is within an application specific integrated circuit (ASIC).
 17. The automated switch scanning matrix for obtaining user input on household appliances of claim 12 wherein the household appliance is a washing appliance.
 18. The automated switch scanning matrix for obtaining user input on household appliances of claim 12 wherein the switching matrix is operatively connected to the logic hardware block source register output and sense register input.
 19. The automated switch scanning matrix for obtaining user input on household appliances of claim 18 wherein switches which are not part of the switching matrix are connected to the logic hardware block sense register input.
 20. A method of obtaining user input on household appliances comprising the steps of: operatively connecting a household appliance to an integrated circuit; operatively connecting a switching matrix to a source output register and a sensing input register of the integrated circuit; pulsing signals from the integrated circuit's source output register to the switch matrix; detecting signals coming from the switching matrix to the integrated circuit's sense input register; determining what signals are being received at the integrated circuit's sense input register for each pulse of the integrated circuit's source output register outputs; storing the switch position inputs in switch save registers; determining if any of the switch's positions have changed; and if the switch positions have changed, setting a status bit that a change has occurred.
 21. The method of claim 20 further comprising the step of detecting if switches which are not part of the switch matrix, but are connected to the integrated circuit's sense input register have changed position.
 22. The method of claim 20 further comprising the step of interrupting a processor when the switch positions have changed.
 23. The method of claim 22 further comprising the step of reading the switch save registers with the processor. 